/*
 * 文件名称: popup.js
 * 作者: lxj
 * 创建日期: 2024-12-19
 * 描述: Chrome插件弹出页面脚本，处理弹出页面的交互逻辑
 * 版本: 1.0.0
 * 许可证: HHX
 */

// 页面加载完成后初始化
document.addEventListener('DOMContentLoaded', initializePopupFun);

// 初始化弹出页面
function initializePopupFun() {
    // 检查当前标签页状态
    checkTabStatusFun();
    
    // 添加事件监听器
    addEventListenersFun();
}

// 检查当前标签页状态
function checkTabStatusFun() {
    chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
        if (tabs[0]) {
            const url = tabs[0].url;
            const statusElement = document.querySelector('.status');
            
            if (url.startsWith('chrome://') || url.startsWith('chrome-extension://')) {
                statusElement.innerHTML = '⚠️ 此页面不支持插件功能';
                statusElement.style.background = '#fff3cd';
                statusElement.style.borderColor = '#ffc107';
                statusElement.style.color = '#856404';
            } else {
                statusElement.innerHTML = '✅ 插件已激活并正常运行';
            }
        }
    });
}

// 添加事件监听器
function addEventListenersFun() {
    // 可以在这里添加更多的交互功能
    // 例如：手动触发查找功能的按钮等
    
    // 监听来自content script的消息
    chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
        if (request.action === 'updateStatus') {
            updateStatusFun(request.message, request.type);
        }
    });
}

// 更新状态显示
function updateStatusFun(message, type = 'info') {
    const statusElement = document.querySelector('.status');
    
    switch(type) {
        case 'success':
            statusElement.style.background = '#e8f5e8';
            statusElement.style.borderColor = '#4CAF50';
            statusElement.style.color = '#2e7d32';
            statusElement.innerHTML = `✅ ${message}`;
            break;
        case 'warning':
            statusElement.style.background = '#fff3cd';
            statusElement.style.borderColor = '#ffc107';
            statusElement.style.color = '#856404';
            statusElement.innerHTML = `⚠️ ${message}`;
            break;
        case 'error':
            statusElement.style.background = '#f8d7da';
            statusElement.style.borderColor = '#dc3545';
            statusElement.style.color = '#721c24';
            statusElement.innerHTML = `❌ ${message}`;
            break;
        default:
            statusElement.style.background = '#d1ecf1';
            statusElement.style.borderColor = '#17a2b8';
            statusElement.style.color = '#0c5460';
            statusElement.innerHTML = `ℹ️ ${message}`;
    }
}